数据导入

前言

流程

最佳实践
使用CSV模板

操作规则

2pack

运行sql脚本

2pack详解

org.adempiere.exceptions.AdempiereException: Unresolved elements
  at org.adempiere.pipo2.PackIn.importXML(PackIn.java:183)
  at org.adempiere.pipo2.PackIn.importXML(PackIn.java:136)
  at org.adempiere.pipo2.PackInProcess.doIt(PackInProcess.java:142)
  at org.compiere.process.SvrProcess.process(SvrProcess.java:198)
  at org.compiere.process.SvrProcess.startProcess(SvrProcess.java:144)
  at org.adempiere.util.ProcessUtil.startJavaProcess(ProcessUtil.java:172)
  at org.compiere.apps.AbstractProcessCtl.startProcess(AbstractProcessCtl.java:466)
  at org.compiere.apps.AbstractProcessCtl.run(AbstractProcessCtl.java:234)
  at org.adempiere.webui.apps.WProcessCtl.process(WProcessCtl.java:197)
  at org.adempiere.webui.apps.AbstractProcessDialog$ProcessDialogRunnable.doRun(AbstractProcessDialog.java:1061)
  at org.adempiere.util.ContextRunnable.run(ContextRunnable.java:38)
  at org.adempiere.webui.apps.DesktopRunnable.run(DesktopRunnable.java:40)
  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
  at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
  at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  at Thread.run(Thread.java:748)

packout一个“打印格式”
1. 实体下导出某个打印格式
2. 只选择一个导出项目:打印格式

另外一个非system实体导入时报错,检查log:
1. 有一个打印项目设置了新字体,结果没有成功导出。
2. 嵌套的打印格式,没有被导出。

分析日志,Unresolved elements清单
1. 新字体由于是system,所以无法在实体导出,只能去system导出。
2. 添加导出被嵌套的打印格式,因为新建的打印格式表格没有导出,所以出现无法识别。

打印格式导出的解决方法:
1. 在实体下新建字体,打印格式,在实体下新建packout包
2. packout包包含:data2项(字体,打印表格格式),打印格式1项(表头打印格式)
3. 在其他实体下导入。

一句话:
你要导出某项,它所关联的新建数据必须一起导出,否则导入时无法解析。注意实体不能混淆。